package fons.model.ontology;

import java.util.Collection;
import java.util.Collections;
import java.util.Set;

import com.google.common.collect.Sets;

import fons.model.ontology.language.Named;

public class SelectionDefinition implements Named {

	private final Set<Dimension> dimensions = Sets.newHashSet();
	private String name;
	
	SelectionDefinition() {
	}
	
	public SelectionDefinition add (Dimension dimension) {
		dimensions.add(dimension);
		return this;
	}
	
	public SelectionDefinition named(String name) {
		this.name = name;
		return this;
	}
	
	@Override
	public String getName() {
		return name;
	}
	
	public Set<Dimension> getDimensions() {
		return Collections.unmodifiableSet(this.dimensions);
	}

	public SelectionDefinition add(DimensionCollection coll) {
		for (final Dimension dim: coll.get()) {
			this.add(dim);
		}
		
		return this;
	}

	@Override
	public Collection<String> getSynonymes() {
		return null;
	}

	@Override
	public void addSynonyme(String synonyme) {
	}
	
}
